package cn.tedu.es.entities;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Setting;

/**
 * 使用框架封装数据类型
 * 提供一些注解 类上有注解 属性上也有注解
 */
@Document(indexName = "student")//当前数据类实体 对应的索引名称
@Setting(shards = 1,replicas = 0)//如果索引存在则直接使用如果索引不存在则根据setting注解
//底层创建一个索引
public class StudentEntity {
    //希望使用业务数据id 作为文档主键
    @Id
    @Field(type = FieldType.Integer)//创建索引的时候 生成mapping映射 id:{type:integer}
    private Integer id;//没有特殊要求
    @Field(type= FieldType.Keyword)
    private String name;//没有特殊要求
    @Field(type=FieldType.Text,analyzer = "ik_max_word")//profile:{type:text,analyzer:ik_max_word}
    private String profile;
    public StudentEntity(){
    }
    //全字段属性构造方法
    public StudentEntity(Integer id, String name, String profile) {
        this.id = id;
        this.name = name;
        this.profile = profile;
    }


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getProfile() {
        return profile;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }
}
